GETHOSTNAME(2) | Руководство программиста Linux | GETHOSTNAME(2) |
ИМЯ¶
gethostname, sethostname - получить/установить имя машины
ОБЗОР¶
#include <unistd.h>
int gethostname(char *name, size_t
len);
int sethostname(const char *name, size_t
len);
ОПИСАНИЕ¶
Эти функции используются для доступа к имени машины или для его изменения. Функция gethostname() возвращает имя машины (которое ранее было установлено вызовом sethostname()) в виде строки name, которая имеет длину len байт и завершается нулевым символом. Если завершающий нулевой символ не встретился в len байтах, то ошибки не будет, но имя машины будет усечено. При этом не факт, что усечённое имя будет завершаться нулевым символом.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
В случае успеха, возвращается 0. При ошибке возвращается -1 и значение errno будет установлено соответствующим образом.
ОШИБКИ¶
- EINVAL
- len имеет отрицательное значение или для sethostname, длина len больше, чем максимально допустимое значение, или для gethostname на Linux/i386, длина len меньше, чем фактический размер. (В это случае glibc 2.1 использует ENAMETOOLONG.)
- EPERM
- Вызвавший sethostname, не является суперпользователем.
- EFAULT
- name является неправильным адресом.
СООТВЕТСТВИЕ СТАНДАРТАМ¶
SVr4, 4.4BSD (данная функция впервые появилась в 4.2BSD). POSIX 1003.1-2001 определяет gethostname но не sethostname.
ОШИБКИ РЕАЛИЗАЦИИ¶
Для многих комбинаций ядер Linux / libc функция gethostname будет возвращать ошибку вместо усечённого имени машины.
ЗАМЕЧАНИЯ¶
SUSv2 гарантирует, что `Длина имени машины ограничивается 255-ми байтами'. POSIX 1003.1-2001 гарантирует, что `Длина имени машины (не включая завершающий нулевой символ) ограничивается HOST_NAME_MAX байтами'.
СМОТРИТЕ ТАКЖЕ¶
ПЕРЕВОД¶
Перевёл с английского Виктор Вислобоков <corochoone@perm.ru> 2003
2001-12-15 | Linux 2.5.0 |